package com.minimalist.common.entity.lindi.vo.purchaseapplication;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.minimalist.common.config.mybatis.bo.PageReq;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 林地指标交易平台_指标购买申请表 查询VO类。
 *
 * @author 11987
 * @since 2025-07-01
 */
@Schema(description = "林地指标交易平台_指标购买申请表查询条件")
public class LindiPurchaseApplicationQueryVO extends PageReq implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "购买申请编号")
    private String purchaseApplicationCode;

    @Schema(description = "购买申请名称")
    private String purchaseApplicationName;

    @Schema(description = "购买申请状态")
    private String purchaseApplicationStatus;

    @Schema(description = "申请时间开始")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime applicationTimeStart;

    @Schema(description = "申请时间结束")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime applicationTimeEnd;

    // Getter和Setter方法
    public String getPurchaseApplicationCode() {
        return purchaseApplicationCode;
    }

    public void setPurchaseApplicationCode(String purchaseApplicationCode) {
        this.purchaseApplicationCode = purchaseApplicationCode;
    }

    public String getPurchaseApplicationName() {
        return purchaseApplicationName;
    }

    public void setPurchaseApplicationName(String purchaseApplicationName) {
        this.purchaseApplicationName = purchaseApplicationName;
    }

    public String getPurchaseApplicationStatus() {
        return purchaseApplicationStatus;
    }

    public void setPurchaseApplicationStatus(String purchaseApplicationStatus) {
        this.purchaseApplicationStatus = purchaseApplicationStatus;
    }

    public LocalDateTime getApplicationTimeStart() {
        return applicationTimeStart;
    }

    public void setApplicationTimeStart(LocalDateTime applicationTimeStart) {
        this.applicationTimeStart = applicationTimeStart;
    }

    public LocalDateTime getApplicationTimeEnd() {
        return applicationTimeEnd;
    }

    public void setApplicationTimeEnd(LocalDateTime applicationTimeEnd) {
        this.applicationTimeEnd = applicationTimeEnd;
    }
}